<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>事件的基本使用</title>
</head>
<script type="text/javascript" src="../js/vue.js"></script>
    <body>
        <!--
            事件的基本使用
                1.使用v-no:xxx 或 @xxx来绑定事件，其中xxx是事件名（如：click...）；
                2.事件的回调函数需要配置在methods对象中，最终会在vm上；
                3.methods中配置的函数，不要使用箭头函数！否则this就不是vm了；
                4.methods中配置的函数，都是被Vue所管理的函数，this的指向是vm 或 组件实例对象；
                5.@click="demo" 和 @click="demo($event)"效果一致，但后者可灵活使用，可以使用在需要同时传event事件和其他参数的情况。
        -->
        <!-- 准备一个容器 -->
        <div id="root">
            <h1>你好，{{name}}</h1><br/>
            <!-- <button v-on:click="showInfo">点我弹窗</button> -->
            <button @click="showInfo1">点我弹窗1（不传参）</button>
            <button @click="showInfo2($event,66)">点我弹窗2（传参）</button>  <!-- 当点击按钮时，调用方法传入event事件对象和一个参数66 -->
        </div>

        <script type="text/javascript">
            Vue.config.productionTip = false //设置为 false 以阻止 vue 在启动时生成生产提示。

            const vm = new Vue({
                el:"#root",
                data:{
                    name:'覃小宝'
                },
                //methods：Vue中的方法集合，这里可以绑定
                methods:{
                    showInfo1(event){
                        alert('工程师你好！');
                        // console.log(event.target.innerText);
                        // console.log(this === vm);  //输出true，此处的“this”是vm （Vue实例对象）

                    },
                    showInfo2(event,number){
                        console.log("方法接收到的参数："+number + "     事件对象：",event);
                    },
                }
            })
        </script>
        
    </body>
</html>